The invention relates generally to automatic data collection (xe2x80x9cADCxe2x80x9d) devices and more particularly to intelligently routing data received from ADC devices based on a data type.
Automatic Data Collection (xe2x80x9cADCxe2x80x9d) device platforms, such as ADC device platforms equipped with bar code readers, have received increasing commercial attention in the past few years. ADC device platforms, such as hand-held data collection terminals, or hand-held personal computers, have been widely implemented in the retail marketplace and have garnered increasing utilization in a diverse range of application areas. The ever-decreasing cost and size of ADC device platforms has facilitated their entry into a wide variety of commercial, institutional, and governmental settings.
An ADC device platform having bar code reader adeptly accesses and retrieves data stored in the form of a bar code label. Data representing virtually any product or service found in the stream of commerce may be encoded in a bar code label for later access by an ADC device platform having a bar code reader. Bar code readers include laser scanners as well as other means of collecting product information, such as a bar code wand, a still camera or an area imager. In addition to bar code labels, other ADC data formats include Radio Frequency (xe2x80x9cRFxe2x80x9d) tags, resonators, SmartCards, magnetic strips, Optical Character Recognition (xe2x80x9cOCRxe2x80x9d), speech input two-dimensional (xe2x80x9c2Dxe2x80x9d) symbols, dipole devices (such as those recited in U.S. Pat. No. 5,581,257), and any symbol having encoded data therein.
In a conventional ADC device platform environment, the recipient of ADC data either physically manipulates he ADC device platform itself to retrieve the ADC data or receives the ADC data through a local, and probably proprietary, network. Thus, a typical ADC device operator is limited both in terms of the distance from which the operator may be located away from the actual device and by the complexity and versatility of the elements that comprise the ADC device network which the operator uses. The operator suffers from still further limitations due to the fact that many conventional ADC device platforms are not readily configurable for new ADC devices, or even for ADC devices other than those attached to the ADC device platform when it is initially sold. Yet another limitation in a conventional ADC device platform arises when an operator wishes to add a new ADC device to one of the few ADC device platforms that will accept new ADC devices. This limitation stems from the fact that many ADC devices require proprietary communications protocols, and even when the communications protocols are non-proprietary, the communications protocols are typically non-standard. Thus, the operator cannot simply attach a new ADC device to an existing ADC device platform and expect that the new combination will function properly. Finally, the above limitations, both separately and together, hinder an ADC operator""s ability to customize the ADC device platform to operate in the most productive possible manner.
Input data received by an ADC device platform must be routed to the intended destination. Conventional ADC device platforms typically have a simple connection that routes one type of data from a single ADC device to a single destination, typically an application program. However, ADC data consumers presently demand sophisticated and customizable ADC device platforms that receive data from multiple ADC devices and route the data, of multiple types, to multiple destinations. In addition, consumers expect their ADC device platforms to be reconfigurable for new ADC devices and new data-receiving applications. Many consumers also need their ADC device platforms to handle data without requiring modification of the destination application. Many destination applications are owned by third parties and cannot be modified without their permission and cooperation. Accordingly, a need exists for sophisticated and customizable methods and systems for channeling input data to various destinations without requiring modification of a destination application.
Aspects of the invention provide a method and system for intelligently routing data collected by one or more automatic data collection (xe2x80x9cADCxe2x80x9d) devices on an ADC device platform based upon the data type of the data received from the ADC devices. The method and system are applicable to data received from all ADC devices configured on an ADC device platform.
Under one aspect of the invention, an ADC routing mechanism analyzes the data type of the incoming ADC data, references an ADC data grid containing ADC client data requests, and the routes the received data to the appropriate client(s). The ADC data routing mechanism may comprise an ADC data server, ADC device handlers, ADC protocol handlers, and an ADC data grid, according to an embodiment of the invention. The ADC device handlers and ADC protocol handlers translate received ADC data into a non-device specific form suitable for processing by the ADC data server. The ADC data server analyzes the received ADC data to determine its data type. The ADC data server then references the ADC data grid to determine which clients have registered data requests matching the received ADC data. The ADC data server next transmits the ADC data to the identified client(s).
Aspects of the invention ensure that ADC data once having been identified is then matched to criteria received clients of the ADC device platform. Aspects of the invention further ensure transmission of the ADC data to the identified client. For some types of data, the selected destination may be an intermediate destination where the data undergoes additional processing before transmission to the client. For other types of data, the selected destination may be the client application that ultimately processes the data. For example, the data routing subsystem may receive input data from an ADC device, analyze the data to determine that the data is voice data, an then route the data to a speech recognition application (client) that processes voice data.
Aspects of the invention may be utilized in a network containing a plurality of remotely controlled ADC device platforms. Each ADC device platform in the plurality of network ADC device platforms may contain an embodiment of the invention. The various ADC device platforms equipped with embodiments of the invention transmit the requested data to the remote applications. For example, a remote application may register the same data request with an unlimited number of ADC device platforms, and whenever that registered data type arrives from any ADC device configured with any of the ADC device platforms, then the ADC data routing mechanism routes the data to the remote application.
ADC devices accommodated by embodiments of the invention include bar code readers, speech recognition systems, RF tag readers, resonator readers, SmartCard readers, two-dimensional symbol readers, ASCII data devices, AIMI-ECI data devices, dipole device readers, and optical character recognition (xe2x80x9cOCRxe2x80x9d) systems. Data may be communicated to remote and local applications using any data protocol, including the Transmission Control Protocol (xe2x80x9cTCPxe2x80x9d), the User Datagram/Internet Protocol (xe2x80x9cUDP/IP), or the User Datagram Plus Protocol (xe2x80x9cUDP+xe2x80x9d), which is noted below.